package util;

import java.util.Collection;
import java.util.Set;

public interface IKeyValueStorage {
	/**
	 * Put an object into the storage
	 * @param key for the object
	 * @param value - the object to store
	 */
	public void put(String key, Object value);
	
	/**
	 * Get object associated with the key
	 * @param key for the object to search
	 * @return the object or null if not found
	 */
	public Object get(String key);

	public boolean containsKey(String key);
	
	public boolean containsValue(String value);

	public Object remove(String key);
	
	public int size();
	
	public boolean isEmpty();
	
	public void clear();
	
	/**
	 * @return a Set of keys contained in this map.
	 */
	public Set getKeysSet();
	
	/**
	 * @return a Collection of values contained in this map.
	 */
	public Collection getValues();
	
}
